home *** CD-ROM | disk | FTP | other *** search
/ PC User 2003 December / Australian PC User - December 2003 (CD2).iso / software / apps / files / dwmx2k4.exe / Disk1 / data1.cab / Configuration_En / Reports / TeamAdminCommon.js < prev   
Encoding:
JavaScript  |  2003-09-05  |  11.2 KB  |  465 lines

  1. // Copyright 2003 Macromedia, Inc. All rights reserved. 
  2.  
  3. //*************** GLOBAL CONSTANTS *****************
  4. var CONTRIBUTE_FOLDER = "_mm";
  5. var CONTRIBUTE_FILE = "contribute.xml";
  6.  
  7. //*************** GLOBAL VARIABLES *****************
  8. var PREF_OBJ;
  9. var condition = false;
  10.  
  11. var ignoreFolders = new Array("_baks", "_mm", "_mmserverscripts", "_notes");
  12. var ignoreFiles = new Array(".lck",".mno");
  13.  
  14. //Radio Objects
  15. var DAYS_MODIFIED_OBJ;
  16.   
  17. // From fileds
  18. var FROM_DAY_OBJ;
  19. var FROM_MONTH_OBJ;
  20. var FROM_YEAR_OBJ;
  21.  
  22. // To fileds
  23. var TO_DAY_OBJ;
  24. var TO_MONTH_OBJ;
  25. var TO_YEAR_OBJ;
  26.  
  27. var strToTotalDate;
  28. var strFromTotalDate;
  29. var fromMonth;
  30. var fromYear;
  31. var toDay;  
  32. var toMonth;
  33. var toYear;
  34. var strToTotalDateBetween;
  35. var strFromTotalDateBetween;
  36. var strCurrentDt;
  37. var currentSite;
  38. var intNoofDays;
  39. var sitenumber; 
  40. var siteSection;
  41. var dir; 
  42. var localDir;
  43. var fileName;
  44.  
  45. var indexViewPath;
  46. var indexDaysModified;
  47. var modifiedBy;
  48.  
  49. //------------------------------------------------------------------------
  50. // FUNCTION:
  51. //  isFolder()
  52. //
  53. // DESCRIPTION:
  54. //   Checks if file exists and it is a folder or not
  55. //
  56. // ARGUMENTS:
  57. //  fileURL
  58. //
  59. // RETURNS:
  60. //  true : if file exists and not a folder
  61. //  false: if file does not exists and if its a folder
  62. //--------------------------------------------------------------------
  63. function isFolder(fileURL)
  64. {
  65.   var retVal = false;
  66.   if (fileURL && DWfile.exists(fileURL))
  67.     retVal = (DWfile.getAttributes(fileURL).indexOf('D') != -1);
  68.     return retVal;
  69. }
  70.   
  71. //-------------------------------------------------------------------
  72. // FUNCTION:
  73. //   commandButtons()
  74. //
  75. // DESCRIPTION:Standard report API, like commands the return value
  76. //   controls the display of command buttons in the settings dialog.
  77. // 
  78. // ARGUMENTS:
  79. //   none
  80. //
  81. // RETURNS:
  82. //   nothing
  83. //--------------------------------------------------------------------
  84. function commandButtons() 
  85. {
  86.   return new Array
  87.   (
  88.     MM.BTN_OK,     "applyParams()",      
  89.     MM.BTN_Cancel, "window.close()",
  90.     MM.BTN_Help,   "displayHelp();"
  91.   );
  92. }
  93.  
  94. //-------------------------------------------------------------------
  95. // FUNCTION:
  96. //   getTotalNumberOfSites()
  97. //
  98. // DESCRIPTION: Gets total number of sites
  99. //
  100. // ARGUMENTS:
  101. //   none
  102. //
  103. // RETURNS:
  104. //   number of sites
  105. //--------------------------------------------------------------------
  106. function getTotalNumberOfSites()
  107. {
  108.   siteSection = "Sites\\-Summary";
  109.   var i = dw.getPreferenceInt(siteSection, "Number of Sites", 0);
  110.   return i;
  111. }
  112.   
  113. //-------------------------------------------------------------------
  114. // FUNCTION:
  115. //   getNumberOfTestSite()
  116. //
  117. // DESCRIPTION: Gets the number of testing server sites
  118. //
  119. // ARGUMENTS:
  120. //   name of the site
  121. //
  122. // RETURNS:
  123. //   nothing
  124. //--------------------------------------------------------------------
  125. function getNumberOfTestSite(name)
  126. {
  127.    var lastIndex = getTotalNumberOfSites();
  128.    var i = 0;
  129.    while (true)
  130.    {
  131.      siteSection = "Sites\\-Site" + i;
  132.      // get name of site0
  133.      siteName = dw.getPreferenceString(siteSection, "Site Name");
  134.      if(siteName == name)// if the name == siteName, then return i
  135.        return i;
  136.      else if (i == lastIndex)// if at the end of the loop, then return i
  137.        return i;
  138.      else 
  139.        i++;
  140.    }
  141. }
  142.   
  143. //-------------------------------------------------------------------
  144. // FUNCTION:
  145. //   onChnageFromMonth()
  146. //
  147. // DESCRIPTION: Populate the fromMonth and fromYear Dropdown
  148. //   
  149. //
  150. // ARGUMENTS:
  151. //   none
  152. //
  153. // RETURNS:
  154. //   nothing
  155. //--------------------------------------------------------------------
  156. function onChangeFromMonth()
  157. {
  158.    fromMonth = FROM_MONTH_OBJ.getValue();
  159.    fromYear = FROM_YEAR_OBJ.getValue();
  160.    fromDay = FROM_DAY_OBJ.getValue();
  161.    setDaysCombo(FROM_DAY_OBJ,fromMonth,fromYear,1);
  162.    FROM_DAY_OBJ.setIndex(fromDay-1);
  163. }
  164.  
  165. //-------------------------------------------------------------------
  166. // FUNCTION:
  167. //   setDaysCombo()
  168. //
  169. // DESCRIPTION: set the days based on selection.
  170. //   
  171. //
  172. // ARGUMENTS:
  173. //   0 : if initialize with max index
  174. //   1 : to initalize for the given date
  175. //
  176. // RETURNS:
  177. //   nothing
  178. //--------------------------------------------------------------------
  179.  
  180. function  setDaysCombo(obj,mon,year,val)
  181. {
  182.    var noOfDaysinMon = 0;
  183.    if (val == 0) 
  184.      noOfDaysinMon = 31;
  185.    else
  186.      noOfDaysinMon = getDaysInMonth(mon,year);
  187.  
  188.    daysArray = new Array();
  189.     
  190.    for (var index =0; index < noOfDaysinMon; index++)
  191.      daysArray.push(index+1);     
  192.    obj.setAll(daysArray, daysArray); 
  193. }
  194.  
  195. //-------------------------------------------------------------------
  196. // FUNCTION:
  197. //   setCurrentDate()
  198. //
  199. // DESCRIPTION: Extracts month, year and day from date
  200. //   
  201. // ARGUMENTS:
  202. //   none
  203. //
  204. // RETURNS:
  205. //   nothing
  206. //--------------------------------------------------------------------
  207. function setCurrentDate()
  208. {  
  209.    var now = new Date();     
  210.    toDay = now.getDate();
  211.    toYear = 1900 + now.getYear();
  212.    toMonth = now.getMonth();     
  213. }
  214.  
  215. //-------------------------------------------------------------------
  216. // FUNCTION:
  217. //  onChnageToMonth()
  218. // 
  219. // DESCRIPTION: Populate the toMonth and toYear Dropdown
  220. //
  221. //
  222. // ARGUMENTS:
  223. //   none
  224. //
  225. // RETURNS:
  226. //   nothing
  227. //--------------------------------------------------------------------
  228. function onChangeToMonth()
  229. {
  230.    toMonth = TO_MONTH_OBJ.getValue();
  231.    toYear = TO_YEAR_OBJ.getValue();
  232.    toDay = TO_DAY_OBJ.getValue();
  233.    setDaysCombo(TO_DAY_OBJ,toMonth,toYear,1);
  234.    TO_DAY_OBJ.setIndex(toDay-1);  
  235. }
  236.  
  237. //-------------------------------------------------------------------
  238. // FUNCTION:
  239. //   addDays()
  240. //
  241. // DESCRIPTION: Finds the current date minus the number of days
  242. //   
  243. //
  244. // ARGUMENTS:
  245. //   myDate,days
  246. //
  247. // RETURNS:
  248. //   Date
  249. //--------------------------------------------------------------------
  250.  
  251. function addDays(myDate,days) 
  252. {
  253.    return new Date(myDate.getTime() - days*24*60*60*1000);
  254. }
  255.  
  256. //-------------------------------------------------------------------
  257. // FUNCTION:
  258. //   Help()
  259. //
  260. // DESCRIPTION: Dispaly the Help Dialog
  261. //   
  262. //--------------------------------------------------------------------
  263. function Help()
  264. {
  265.    //dwscripts.DWHelp(HELP_DOC);
  266.    var myHelpFile = dwscripts.filePathToLocalURL(dw.getConfigurationPath() 
  267.                     + dwscripts.FILE_SEP + "ExtensionsHelp" 
  268.                     + dwscripts.FILE_SEP  + "Macromedia" 
  269.                     + dwscripts.FILE_SEP + "TeamAdministration" + dwscripts.FILE_SEP + "team_extensions_1.html" );
  270.    dw.browseDocument(myHelpFile);
  271. }
  272.  
  273. //-------------------------------------------------------------------
  274. // FUNCTION:
  275. //   validateInput()
  276. //
  277. // DESCRIPTION: Validate if the input entered is correct
  278. //   
  279. //
  280. // ARGUMENTS:
  281. //   none
  282. //
  283. // RETURNS:
  284. //   false : if input is not valid
  285. //   true : if input is valid
  286. //--------------------------------------------------------------------
  287. function validateInput()
  288. {
  289.    var retValue = true;
  290.    if (!isNaN(intNoofDays))
  291.    {
  292.       if (!((parseInt(intNoofDays) > 0) && (parseInt(intNoofDays) <= 999))) 
  293.       {
  294.          alert(MM.MSG_enterNumberBetween);
  295.          document.myForm.numDays.select();
  296.          document.myForm.numDays.focus();
  297.          retValue = false;
  298.        }
  299.     }
  300.     else
  301.     {
  302.        alert(MM.MSG_enterNumberBetween);
  303.        document.myForm.numDays.select();
  304.        document.myForm.numDays.focus();
  305.        retValue = false;
  306.     }
  307.     return retValue;
  308. }
  309.  
  310.  
  311. //-------------------------------------------------------------------
  312. // FUNCTION:
  313. //   getDaysInMonth()
  314. //
  315. // DESCRIPTION:
  316. //   return number of dayes based on the month and year selection
  317. //
  318. // ARGUMENTS:
  319. //   mondays - month number
  320. //   yesr - year 
  321. // RETURNS:
  322. //   integer - number of days in the month (30 or 31 or 28 or 29)
  323. //--------------------------------------------------------------------
  324. function getDaysInMonth(mondays, year)
  325. {
  326.    if (mondays == 0 || mondays == 2 || mondays == 4 || mondays == 6 || mondays == 7 || mondays == 9 || mondays == 11)
  327.      noOfDaysinMon = 31;
  328.    else
  329.    {
  330.       //Include condition for leap year
  331.       if (mondays == 1)
  332.       {
  333.          if (year%4 != 0)
  334.            noOfDaysinMon = 28;
  335.          else
  336.          {
  337.             if (year%400 == 0)
  338.             noOfDaysinMon = 29;
  339.          else
  340.          {
  341.             if (year%100 == 0)
  342.               noOfDaysinMon = 28;
  343.             else
  344.               noOfDaysinMon = 29;
  345.          }      
  346.        }            
  347.     } 
  348.     else
  349.       noOfDaysinMon = 30;
  350.     }
  351.     return noOfDaysinMon;
  352. }
  353.  
  354.  
  355.  //-------------------------------------------------------------------
  356.  // FUNCTION:
  357.  //   onChangeFromYear()
  358.  //
  359.  // DESCRIPTION:
  360.  //     Event handler triggerd when  month is changed
  361.  //
  362.  // ARGUMENTS:
  363.  //   none
  364.  //
  365.  // RETURNS:
  366.  //   nothing
  367.  //--------------------------------------------------------------------
  368.  function onChangeFromYear()
  369.  {
  370.     fromMonth = FROM_MONTH_OBJ.getValue();
  371.     fromYear = FROM_YEAR_OBJ.getValue();
  372.     fromDay = FROM_DAY_OBJ.getValue();
  373.     setDaysCombo(FROM_DAY_OBJ,fromMonth,fromYear,1);
  374.     FROM_DAY_OBJ.setIndex(fromDay-1);
  375.  }
  376.  
  377.  
  378. //-------------------------------------------------------------------
  379. // FUNCTION:
  380. //   onChangeToYear()
  381. //
  382. // DESCRIPTION:
  383. //   Event handler triggerd when  year is changed
  384. //
  385. // ARGUMENTS:
  386. //   none
  387. //
  388. // RETURNS:
  389. //   nothing
  390. //--------------------------------------------------------------------
  391. function onChangeToYear()
  392. {
  393.    toMonth = TO_MONTH_OBJ.getValue();
  394.    toYear = TO_YEAR_OBJ.getValue();
  395.    toDay = TO_DAY_OBJ.getValue();
  396.    setDaysCombo(TO_DAY_OBJ,toMonth,toYear,1); 
  397.    TO_DAY_OBJ.setIndex(toDay-1);
  398. }
  399.  
  400.  
  401. //-------------------------------------------------------------------
  402. // FUNCTION:
  403. //   checkArray()
  404. //
  405. // DESCRIPTION: passing array values with type document.
  406. //
  407. // ARGUMENTS:
  408. //   arr,obj
  409. //
  410. // RETURNS:
  411. //   true or false
  412. //-------------------------------------------------------------------- 
  413. function checkArray(arr,obj)
  414. {
  415.    var retVal = false;
  416.    for(var i=0; i<arr.length; i++)
  417.    {
  418.       if(arr[i] == obj.toLowerCase())
  419.         retVal = true;
  420.    }
  421.    return retVal;
  422. }
  423.  
  424. //-------------------------------------------------------------------
  425. // FUNCTION:
  426. //   searchFile()
  427. //
  428. // DESCRIPTION: Search if the file is existing in the particular folder.
  429. //
  430. // ARGUMENTS:
  431. //   fileItem
  432. //
  433. // RETURNS:
  434. //   nothing
  435. //-------------------------------------------------------------------- 
  436. function searchFile(fileItem)
  437. {
  438.    // check for .LCK file; fetch last 4 characters
  439.    var fileExt = fileItem.substr(fileItem.length-4);
  440.  
  441.    if(!checkArray(ignoreFiles,fileExt))
  442.    {
  443.       fileName = fileItem;
  444.       if(condition)
  445.       {  
  446.          //if contribute site
  447.          if ((document.myForm.modifiedBy.value) != '')
  448.          {
  449.             // Checking the contribute site name if name is provided
  450.             checkModifiedByNotNull();
  451.          }
  452.          else
  453.          {
  454.             // Checking the contribute site name but no name specified.
  455.             checkModifiedByNull();
  456.          }      
  457.       } // end if
  458.       else
  459.       {
  460.          //If not contribute site 
  461.          checkModifiedByNull();        
  462.        }        
  463.     } // end if-loop
  464. }
  465.